// src/i18n.ts
import { createI18n } from 'vue-i18n';
import { App } from 'vue';

interface Locale {
  en: any;
  zh: any;
}

// 定义语言包
const messages = {
  en: {
    // 添加其他英文翻译
    welcome: 'Welcome to Naive Admin',
  },
  zh: {
    // 添加其他中文翻译
    welcome: '欢迎使用 Naive Admin',
  },
  // 可以添加其他语言
};

// 创建 i18n 实例
const i18n = createI18n({
  locale: 'zh', // 默认语言
  messages,
});

export function addMessage(locale: Locale) {
  const messages = i18n.global.messages;
  for (const key in locale.en) messages.en[key] = locale.en[key];
  for (const key in locale.zh) messages.zh[key] = locale.zh[key];
  i18n.global.setLocaleMessage('en', messages.en);
  i18n.global.setLocaleMessage('zh', messages.zh);
}

export function changeLocale(locale: any) {
  i18n.global.locale = locale;
}

export function setupI18n(app: App) {
  app.use(i18n);
}

export function t(key: string) {
  return i18n.global.t(key);
}

// 用法
// import { addMessage, t } from '@/utils/i18n';
// const locale = {
//   en: {
//     dayVisits: 'Today Visits',
//     rise: 'Rise',
//     decline: 'Decline',
//     amount: 'Visits',
//     weekSaleroom: 'Week Sales',
//     weekLarge: 'Week Order',
//   },
//   zh: {
//     dayVisits: '访问量',
//     rise: '同比',
//     decline: '环比',
//     amount: '访问量',
//     weekSaleroom: '本周销售额',
//     weekLarge: '本周订单量',
//   },
// };
// addMessage(locale);
// t('dayVisits')
